package com.ciei.dpagm.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.ciei.dpagm.common.annotation.DefaultValue;

import java.sql.Timestamp;

/**
 * @author pp
 * @date 2023/01/17
 */
@TableName(value = "common_users")
public class Users  implements java.io.Serializable{

    private static final long serialVersionUID = 1L;

    /**
     * 系统管理员userId
     */
    public static final Integer ADMIN_USER_ID = 1;

    @TableId(type = IdType.AUTO)
    private Integer userId;
    private String userName;
    private String loginName;
    @JSONField(serialize = false)
    private String password;
    private Integer gender;
    private Integer departmentId;
    private Integer companyId;
    private Integer userType;
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer isDelete;
    @TableField(fill = FieldFill.INSERT)
    @DefaultValue(intValue = 0)
    private Integer locked;
    private String email;
    private String mobileTel;
    private String telephone;
    private String userNote;
    private Integer isGroup;
    private Timestamp pswordChangeTime;
    private String province;
    private String city;
    private String country;
    private String address;
    private String post;
    private String question;
    private String result;
    private Integer userGrade;
    private Timestamp loadDate;
    private String ip;
    private Integer loadCount;
    @TableField(fill = FieldFill.INSERT)
    private Timestamp createTime;
    @TableField(fill = FieldFill.UPDATE)
    private Timestamp updateTime;
    private Timestamp lastLoginTime;
    private Timestamp loginFailTimes;
    private Timestamp firstLoginFailTime;
    private Integer pswordWrongCount;
    private Integer isSingleWindow;
    private Integer postAuthorizationId;
    private Integer trainingResumeId;
    private Integer workLicenceId;
    private String jobCode;
    private String userIdCard;

    public Users() {
    }

    public Users(Integer userId, String userName, String loginName, String password, Integer gender, Integer departmentId, Integer companyId, Integer userType, Integer isDelete, Integer locked, String email, String mobileTel, String telephone, String userNote, Integer isGroup, Timestamp pswordChangeTime, String province, String city, String country, String address, String post, String question, String result, Integer userGrade, Timestamp loadDate, String ip, Integer loadCount, Timestamp createTime, Timestamp updateTime, Timestamp lastLoginTime, Timestamp loginFailTimes, Timestamp firstLoginFailTime, Integer pswordWrongCount, Integer isSingleWindow, Integer postAuthorizationId, Integer trainingResumeId, Integer workLicenceId, String jobCode, String userIdCard) {
        this.userId = userId;
        this.userName = userName;
        this.loginName = loginName;
        this.password = password;
        this.gender = gender;
        this.departmentId = departmentId;
        this.companyId = companyId;
        this.userType = userType;
        this.isDelete = isDelete;
        this.locked = locked;
        this.email = email;
        this.mobileTel = mobileTel;
        this.telephone = telephone;
        this.userNote = userNote;
        this.isGroup = isGroup;
        this.pswordChangeTime = pswordChangeTime;
        this.province = province;
        this.city = city;
        this.country = country;
        this.address = address;
        this.post = post;
        this.question = question;
        this.result = result;
        this.userGrade = userGrade;
        this.loadDate = loadDate;
        this.ip = ip;
        this.loadCount = loadCount;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.lastLoginTime = lastLoginTime;
        this.loginFailTimes = loginFailTimes;
        this.firstLoginFailTime = firstLoginFailTime;
        this.pswordWrongCount = pswordWrongCount;
        this.isSingleWindow = isSingleWindow;
        this.postAuthorizationId = postAuthorizationId;
        this.trainingResumeId = trainingResumeId;
        this.workLicenceId = workLicenceId;
        this.jobCode = jobCode;
        this.userIdCard = userIdCard;
    }

    public static Integer getAdminUserId() {
        return ADMIN_USER_ID;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public Integer getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(Integer departmentId) {
        this.departmentId = departmentId;
    }

    public Integer getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Integer companyId) {
        this.companyId = companyId;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public Integer getLocked() {
        return locked;
    }

    public void setLocked(Integer locked) {
        this.locked = locked;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getMobileTel() {
        return mobileTel;
    }

    public void setMobileTel(String mobileTel) {
        this.mobileTel = mobileTel;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getUserNote() {
        return userNote;
    }

    public void setUserNote(String userNote) {
        this.userNote = userNote;
    }

    public Integer getIsGroup() {
        return isGroup;
    }

    public void setIsGroup(Integer isGroup) {
        this.isGroup = isGroup;
    }

    public Timestamp getPswordChangeTime() {
        return pswordChangeTime;
    }

    public void setPswordChangeTime(Timestamp pswordChangeTime) {
        this.pswordChangeTime = pswordChangeTime;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public String getQuestion() {
        return question;
    }

    public void setQuestion(String question) {
        this.question = question;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public Integer getUserGrade() {
        return userGrade;
    }

    public void setUserGrade(Integer userGrade) {
        this.userGrade = userGrade;
    }

    public Timestamp getLoadDate() {
        return loadDate;
    }

    public void setLoadDate(Timestamp loadDate) {
        this.loadDate = loadDate;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public Integer getLoadCount() {
        return loadCount;
    }

    public void setLoadCount(Integer loadCount) {
        this.loadCount = loadCount;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Timestamp getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public Timestamp getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Timestamp lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public Timestamp getLoginFailTimes() {
        return loginFailTimes;
    }

    public void setLoginFailTimes(Timestamp loginFailTimes) {
        this.loginFailTimes = loginFailTimes;
    }

    public Timestamp getFirstLoginFailTime() {
        return firstLoginFailTime;
    }

    public void setFirstLoginFailTime(Timestamp firstLoginFailTime) {
        this.firstLoginFailTime = firstLoginFailTime;
    }

    public Integer getPswordWrongCount() {
        return pswordWrongCount;
    }

    public void setPswordWrongCount(Integer pswordWrongCount) {
        this.pswordWrongCount = pswordWrongCount;
    }

    public Integer getIsSingleWindow() {
        return isSingleWindow;
    }

    public void setIsSingleWindow(Integer isSingleWindow) {
        this.isSingleWindow = isSingleWindow;
    }

    public Integer getPostAuthorizationId() {
        return postAuthorizationId;
    }

    public void setPostAuthorizationId(Integer postAuthorizationId) {
        this.postAuthorizationId = postAuthorizationId;
    }

    public Integer getTrainingResumeId() {
        return trainingResumeId;
    }

    public void setTrainingResumeId(Integer trainingResumeId) {
        this.trainingResumeId = trainingResumeId;
    }

    public Integer getWorkLicenceId() {
        return workLicenceId;
    }

    public void setWorkLicenceId(Integer workLicenceId) {
        this.workLicenceId = workLicenceId;
    }

    public String getJobCode() {
        return jobCode;
    }

    public void setJobCode(String jobCode) {
        this.jobCode = jobCode;
    }

    public String getUserIdCard() {
        return userIdCard;
    }

    public void setUserIdCard(String userIdCard) {
        this.userIdCard = userIdCard;
    }
}
